Right to use (RTU) licenses are typically granted to devices, or more precisely to firmware or client software running on or executed by such devices, based on product ID and, optionally, a release number. Customers may purchase a number of licenses for each release for a given product ID. In conventional systems, endpoints may only use licenses having a matching release and product ID. As a result, if there are no more licenses available of the particular release and product ID for a device attempting to obtain a license, that device is denied registration. However, there may be licenses available for the same product ID but for another higher release. This causes customer dissatisfaction. Accordingly, it would be desirable to allow licenses held by the customer for the product ID and having a higher-valued release number to also be applied to the device seeking registration. The inability of current systems to allow licenses of different releases to be applied such that a device having the same or an older release value can use an available license is overly restrictive, in that it does not allow the customer to fully use all the licenses that have been purchased or otherwise acquired. Moreover, the customer will likely delay purchasing new licenses as a result.
A license gatekeeper can be programmed such that a device seeking registration is granted a license having the same or a higher-valued release value. In order to track the release level of the license assigned to the device, individual tracking of licenses is required. This solution requires memory and other resources, and is often unacceptable, for example where a system being administered includes a large number of devices to which licenses must be allocated in order for those devices to operate. In addition, such an arrangement can limit endpoints from registering if a device seeking registration requires a higher-value license release than is then available, even though a license having a release sufficient for another device that has instead been issued a higher-valued release license is available. That is, systems have not provided for the dynamic reallocation of licenses having different release values.
Other systems have addressed the assignment of licenses by associating individual licenses with individual devices. However, this method requires that customers purchase and hold licenses even for inactive devices. In order to overcome the need to track individual assignments of licenses, systems can charge the same amount for all releases of a license, in effect creating an “any release” license that can be applied to any device. However, this solution is unacceptable where system providers desire to charge different amounts for different releases or desire to sell upgrades to new releases, and to associate different features with the different releases.